通常我們會希望伺服器主機開機後,就立即上線服務客戶,這項要求對 TabPy Server 也不例外,除非有特殊情況,否則應該不會想要每次都以手動的方式來啟動。這裡會分享如何使用排程讓伺服器開機的同時自動運行 TabPy Server,省去伺服器管理人員的麻煩。
腳本的撰寫需要看 TabPy Server 運行的作業系統,若在 Windows 上運行就撰寫 bat
檔案,而 Linux 則是 sh
檔案,語法可能有些微不同,但概念都是一樣的。
建立一個 StartUpTabPy.bat
檔案,內容如下 (路徑因環境而異,需視情況修改)
C:\Users\wrxue\Tableau-Python-Server\Scripts\activate && tabpy
activate
:運行 activate 執行檔以進入安裝 TabPy Server 的虛擬環境。這裡給的是 activate 執行檔的絕對路徑而不是相對路徑,可以避免一些不必要的錯誤。tabpy
:也就是我們平常在虛擬環境啟動 TabPy Server 的指令。整個意思就是:先進入虛擬環境再啟動 TabPy Server。
啟動腳本完成之後,我們要設定排程讓伺服器主機開機時自動執行該腳本,如此一來就能達到自動運行 TabPy Server 的效果。
開啟工作排程器 (Task Scheduler),點選 Action Menu → Create Task...
新增一個排程工作,填寫 Name
與勾選 Security options
於 Tiggers
頁籤中新增一個觸發時機,並選擇開機時 (At startup
),再於 Actions
頁籤新增我們寫好的腳本檔案
使用排程開啟的 TabPy Server 會再背景中運行,若我們想關閉或重啟 TabPy Server,就需要到工作管理員中強制關閉。於工作管理員的 Details
頁籤中右鍵點擊 tabpy.exe
,選擇 End task
強制關閉